2fac493eb65c2be74eb24be2171a02496afb18f3,uportal-war/src/main/java/org/jasig/portal/jpa/OpenEntityManagerAspect.java,OpenEntityManagerAspect,openEntityManager,#ProceedingJoinPoint#OpenEntityManager#,75

Before Change


		EntityManagerFactory emf = lookupEntityManagerFactory(openEntityManager);
		boolean participate = false;

		if (TransactionSynchronizationManager.hasResource(emf)) {
			// Do not modify the EntityManager: just set the participate flag.
			participate = true;
		}
		else {
			logger.debug("Opening JPA EntityManager in OpenEntityManagerAspect");
			try {
				EntityManager em = createEntityManager(emf);
				TransactionSynchronizationManager.bindResource(emf, new EntityManagerHolder(em));
			}
			catch (PersistenceException ex) {
				throw new DataAccessResourceFailureException("Could not create JPA EntityManager", ex);
			}
		}

After Change


    public Object openEntityManager(ProceedingJoinPoint pjp, OpenEntityManager openEntityManager) throws Throwable {
        final EntityManagerFactory emf = getEntityManagerFactory(openEntityManager);
        
        EntityManager em = getTransactionalEntityManager(emf);
        boolean isNewEm = false;
        if (em == null) {
            logger.debug("Opening JPA EntityManager in OpenEntityManagerAspect");
            em = createEntityManager(emf);
            isNewEm = true;
            TransactionSynchronizationManager.bindResource(emf, new EntityManagerHolder(em));
        }
        else {
            logger.debug("Using Existing JPA EntityManager in OpenEntityManagerAspect");
        }
		try {
			return pjp.proceed();